package com.eastedu.repository.question.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.eastedu.common.enums.QuestionTypeEnum;
import jakarta.persistence.Column;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.Data;

/**
 * The type Question item po.
 * @author 袁松明
 */
@Data
@Table(name = "t_question_item")
@TableName("t_question_item")
public class QuestionItemPO {
    @Id
    @Column(name = "id", columnDefinition = "bigint comment '主键'", nullable = false, updatable = false)
    @TableId(value = "id")
    private Long id;

    @Column(name = "question_id", columnDefinition = "bigint comment '试题ID'")
    private Long questionId;

    @Column(name = "parent_id", nullable = false, columnDefinition = "bigint comment '父级ID'")
    private Long parentId;

    @Column(name = "question_type", columnDefinition = "tinyint comment '题型'")
    private QuestionTypeEnum questionType;

    @Column(name = "`content`", columnDefinition = "longtext comment '试题内容'")
    private String content;
    @Column(name = "`explanation`", columnDefinition = "longtext comment '试题解析'")
    private String explanation;
    @Column(name = "`answer`", columnDefinition = "longtext comment '标准答案'")
    private String answer;
    @Column(name = "`options`", columnDefinition = "longtext comment '试题选择'")
    private String options;


    @Column(name = "`order`", columnDefinition = "int comment '序号'")
    @TableField(value = "`order`")
    private Integer order;

    @Column(name = "`objective_option_count`", columnDefinition = "int comment '（客观题）数量'")
    private Integer objectiveOptionCount;

    @Column(name = "`objective_answer`", columnDefinition = "int comment '正确答案（客观题）'")
    private Integer objectiveAnswer;

    @Column(name = "`objective_option`", columnDefinition = "varchar(200) comment '客观题选项'")
    private String objectiveOption;


    @Column(name = "`content_images`", columnDefinition = "longtext comment '题干截图'")
    private String contentImages;
    @Column(name = "`answer_images`", columnDefinition = "longtext comment '题干截图'")
    private String answerImages;
    @Column(name = "`explanation_images`", columnDefinition = "longtext comment '题干截图'")
    private String explanationImages;
    @Column(name = "`answer_position_images`", columnDefinition = "longtext comment '题干截图'")
    private String answerPositionImages;

    @Column(name = "`answer_image_path`", columnDefinition = "longtext comment '题干截图'")
    private String answerImagePath;
    @Column(name = "`explanation_image_path`", columnDefinition = "longtext comment '题干截图'")
    private String explanationImagePath;
    @Column(name = "`option_image_path`", columnDefinition = "longtext comment '题干截图'")
    private String optionImagePath;
    @Column(name = "`stem_image_path`", columnDefinition = "longtext comment '题干截图'")
    private String stemImagePath;




    @Column(name = "`logical_paragraph`", columnDefinition = "longtext comment '题干截图'")
    private String logicalParagraph;

    /**
     * 试题内容文本
     */
    @Column(name = "`content_text`", columnDefinition = "longtext comment '试题内容文本'")
    private String contentText;
    /**
     * 试题解析文本
     */
    @Column(name = "`explanation_text`", columnDefinition = "longtext comment '试题解析文本'")
    private String explanationText;
    /**
     * 作答区域信息
     */
    @Column(name = "`answer_position`", columnDefinition = "longtext comment '作答区域信息'")
    private String answerPosition;

    /**
     * 标准答案文本
     */
    @Column(name = "`answer_text`", columnDefinition = "longtext comment '标准答案文本'")
    private String answerText;

    /**
     * 可用状态
     */
    @Column(name = "`state`", columnDefinition = "int comment '0:可用状态; 1:不可用'")
    private Integer state;
}
